Skip to content

Feature/cgai 13 orchestator#24

Merged
Yosoyepa merged 7 commits intodevelopfrom
feature/CGAI-13-Orchestator
Dec 4, 2025
Merged

Feature/cgai 13 orchestator#24
Yosoyepa merged 7 commits intodevelopfrom
feature/CGAI-13-Orchestator

Conversation

@DavidFBM
Copy link
Collaborator

@DavidFBM DavidFBM commented Dec 4, 2025

📝 Descripción

Implementa el OrchestratorAgent en la capa de dominio y refactoriza el flujo de análisis para que la ejecución de agentes se haga de forma paralela y desacoplada desde la capa de aplicación.

Cambios principales:

Agrega OrchestratorAgent para coordinar la ejecución paralela de agentes (SecurityAgent, QualityAgent, StyleAgent y PerformanceAgent) utilizando ThreadPoolExecutor.

Refactoriza AnalysisService para delegar la ejecución de agentes al OrchestratorAgent, manteniendo el mismo contrato de entrada/salida y el cálculo de CodeReview.

Implementa AgentFactory como Singleton para registrar y crear instancias de agentes de análisis, inyectando el EventBus compartido.

Mantiene la lógica de puntuación de calidad (penalizaciones por severidad) pero ahora centralizada en el orquestador.

🎯 Historia de Usuario Relacionada
CGAI-13: OrchestratorAgent dominio + integración con AnalysisService

🧪 Cómo se Probó

Tests unitarios existentes (pytest)

Tests de integración de /api/v1/analyze pasando correctamente

Probado manualmente con archivos .py válidos e inválidos (validaciones de tamaño, extensión y contenido mínimo)

Cobertura: 93.97% (cumple umbral 75%)

✅ Checklist Previo al Merge

Mi código sigue las convenciones del proyecto

He agregado/ajustado tests que cubren mis cambios (o se mantienen cubiertos por los existentes)

Todos los tests pasan localmente (pytest)

He actualizado la documentación relevante (docstrings en agentes y orquestador)

Mis commits siguen Conventional Commits

He sincronizado mi rama con develop

He ejecutado linting localmente (black, isort, flake8 vía GitHub Actions)

He verificado coverage > 75% (actual: 93.97%)

📚 Notas Adicionales

AnalysisService ahora solo valida entrada, construye el AnalysisContext, llama al OrchestratorAgent y persiste el CodeReview, respetando la arquitectura aplicación → dominio.

OrchestratorAgent:

Ejecuta agentes en paralelo con ThreadPoolExecutor.

Maneja timeouts y errores individuales con handle_agent_failure sin detener el análisis completo.

Calcula el quality_score usando la misma tabla de penalizaciones que existía antes (CRITICAL/HIGH/MEDIUM/LOW).

AgentFactory:

Implementa un patrón Singleton con threading.Lock.

Registra por defecto SecurityAgent, QualityAgent, StyleAgent y PerformanceAgent.

El registro de PerformanceAgent queda comentado hasta que el agente esté actualizado.

Inyecta opcionalmente event_bus y config a los agentes, con fallback tolerante si la firma del init no los soporta.

No se cambia la API pública del endpoint /api/v1/analyze ni el modelo de CodeReview; solo se modifica la forma interna en que se ejecutan los agentes.

Yosoyepa and others added 4 commits December 3, 2025 23:54
- Agregar OrchestratorAgent para coordinar ejecución de agentes

Related CGAI-13
…ltiples agentes y agregar sus hallazgos.

Implementación de la lógica en AnalysisService para utilizar OrchestratorAgent en lugar de agentes individuales.
@Yosoyepa Yosoyepa merged commit 80a5ab6 into develop Dec 4, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants